---
title: DDD 迭代需求
authors: [wkq]
tags: [ddd]
---

企业管理系统，包含诸如考勤管理、工时管理、项目管理、请假管理等通用的需求，企业管理就是要处理的领域。

不同企业的需求可能会有较大差别，所以需要先聚焦一个细分市场，之后再扩大范围。

这些企业的员工一般都工作在各个项目上。企业为了满足管理诉求，希望员工每周在系统中填报自己在哪些项目上花了多少时间，也就是所谓的报工时。所以我们第一步先来满足这个功能。但是，为了完成报工时的功能，我们还要首先对组织、人员、项目等等进行管理。
<!-- truncate -->
## 租户管理
系统中可以管理多个租户，每个租户都是使用该 SaaS 服务的一个企业，需要对租户进行增删改查。

## 人员与组织管理

* 客户企业下有多个开发中心、每个开发中心下有多个开发组。此外，还有公司直属的人事部、财务部等部门。
* 系统需要对这些部门进行增啥改查。
* 需要对员工进行增删改查。
* 把员工分配到部门。每个员工只能属于一个部门。


## 项目管理

租户要向客户提供服务，就需要和客户签订合同，然后完成合同下的项目。

* 一个租户企业可以有多个客户，每个客户都有一个客户经理来跟进。
* 租户可以和它的客户签订多份合同，每个合同都有一个销售人员负责，可以开始和结束合同
* 一个合同下可以有多个项目，每一个项目都有一个项目经理。可以开始和结束项目
* 可以在系统中开始和结束项目，需要记录开始和结束时间等信息，项目结束后，很多事情就不能做了。

## 人员分配
有了项目
* 可以为项目分配人员，人员可以退出项目

* 一个人可以参加多个项目，一个项目可以有多个人参与。

* 记录每个人预计的投入百分比。

## 工时登记

把员工分配到项目上之后，就可以登记工时了。
* 员工每周都需要在系统中填报工时，登记自己那一天在哪一个项目上投入了多少时间。
* 员工也可以对工时进行查询和修改，填写备注。
* 只有当一个员工分配到一个项目上以后，才能通过这个项目填报工时。



##
